package common;

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

/**
 * @Author: fancyears·milos·malvis
 * @Description:
 * @Date: Created in  2019/4/11 14:03
 * @Modified By:
 */
@Configuration
public class BeanFactoryGenerator {
    /**
     * bean配置文件路径，这种写法一定是放在resource根目录下或打包后的classes根目录下
     */
    public static final String XML_PATH = "Beans.xml";
    /**
     * BeanFactory的实现类常用
     * <p>
     * ClassPathXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里，你不需要提供 XML 文件的完整路径，只需正确配置 CLASSPATH 环境变量即可，因为，容器会从 CLASSPATH 中搜索 bean 配置文件。
     * <p>
     * FileSystemXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里，你需要提供给构造器 XML 文件的完整路径。
     * <p>
     * XmlWebApplicationContext:该容器会在一个 web 应用程序的范围内加载在 XML 文件中已被定义的 bean。
     */
    public static final ApplicationContext context = new ClassPathXmlApplicationContext(XML_PATH);
    /**
     * BeanFactory的实现类常用，我怎么觉得不太常用？！！
     */
    public static final XmlBeanFactory xmlBeanFactory = new XmlBeanFactory(new ClassPathResource(XML_PATH));
}
